package com.lantosec.hmrp.modules.sysdata.vo;

import com.lantosec.hmrp.modules.sysdata.entity.SysProcessNotify;
import com.lantosec.hmrp.core.mvc.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * <p>
 * 流程知会表 VO对象
 * </p>
 *
 * @author AutoCode
 * @since 2020-06-21
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value="SysProcessNotify对象", description="流程知会表")
public class SysProcessNotifyVO extends BaseVO<SysProcessNotify> {
    private static final long serialVersionUID = 1L;


    public SysProcessNotifyVO(SysProcessNotify entity){
        this.id = entity.getId();
        this.proInsId = entity.getProInsId();
        this.taskId = entity.getTaskId();
        this.formLayoutId = entity.getFormLayoutId();
        this.startUserId = entity.getStartUserId();
        this.notifyUserId = entity.getNotifyUserId();
        this.createTime = entity.getCreateTime();
        this.notifyStatus = entity.getNotifyStatus();
    }

    @Override
    public SysProcessNotify convertToEntity(){
        return new SysProcessNotify(this);
    }


    @ApiModelProperty(value = "ID")
    private String id;

    @ApiModelProperty(value = "Flowable中对应的流程实例ID")
    private String proInsId;

    @ApiModelProperty(value = "Flowable中对应的流程任务ID")
    private String taskId;

    @ApiModelProperty(value = "流程的表单布局ID")
    private String formLayoutId;

    @ApiModelProperty(value = "知会发起人Id")
    private String startUserId;

    @ApiModelProperty(value = "知会用户Id")
    private String notifyUserId;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "知会状态 已读：READED 未读 UNREAD")
    private String notifyStatus;



    @ApiModelProperty(value = "流程分类Id")
    private String processTypeId;

    @ApiModelProperty(value = "流程定义Id")
    private String processDefinitionId;

    @ApiModelProperty(value = "Flowable中对应的流程实例名称")
    private String proInsName;

    @ApiModelProperty(value = "流程的数据表单ID")
    private String formTableId;

    @ApiModelProperty(value = "流程实例对应的数据表记录Id")
    private String dataId;

    @ApiModelProperty(value = "流程状态 完成 FINISH，进行中 PROCESSING，关闭 CLOSE")
    private String processStatus;

    @ApiModelProperty(value = "知会发起人姓名")
    private String startUserName;
}
